package com.rickie.gateway;

import com.rickie.model.valueobjects.LastCargoHandledEvent;
import com.rickie.model.aggregates.Cargo;

/**
 * @author rickie
 * @version 1.0.0
 * @ClassName CargoGateway.java
 * @Description 技术网关接口
 * @createTime 2021年06月14日 00:48:00
 */
public interface CargoBookingGateway {

    /**
     * 保存货物
     */
    void save(Cargo cargo);
    /**
     * 更新货物
     */
    void update(Cargo cargo);
    /**
     * 更新货物路线状态
     */
    void updateRoutingStatus(Cargo cargo);
    /**
     * 根据预定id查询货物
     */
    Cargo getByBookingId(String bookingId);
    /**
     * 更新最新处理事件
     */
    void updateByLastCargoHandledEvent(LastCargoHandledEvent event);
}

